package com.bsoft.gol.hcs.specialist.bean.response;

import hcn.base.healthinfo.vo.NewReplyListVO;
import com.bsoft.gol.hcs.odshmrecord.bean.response.OdsHmAbnormal;
import org.springframework.format.annotation.DateTimeFormat;
import com.bsoft.gol.hcs.specialist.bean.vo.FollowUpRecordsVO;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @Author:zhengcb
 * @Description 订阅类型 1异常提醒、2随访任务 、3入组申请、4我的诊室、5患者留言 、6病历订阅
 * @Data Created in 2020/7/28
 * @Moddified By:
 */
public class QueryDoctorFollowupResp implements Serializable {

    private static final long serialVersionUID = 8409293771409542116L;

    /**
     * 1异常提醒
     */
    private Long unReadAbnormalTotal;
    /**
     * 问卷异常
     */
    private List<FollowUpRecordsVO> theCriticalValueList;
    /**
     * 检测指标异常
     */
    private List<OdsHmAbnormal> odsHmDiseaseRelationList;
    /**
     * 2随访任务
     */
    private List<FollowUpRecordsVO> onOutPatientApintmentList;
    /**
     * 3入组申请
     */
    private List<patientInfo> intoGroupAssessmentList;
    /**
     * 4我的诊室
     */
    private List<patientInfo> myClinicList;

    /**
     * 5患者留言
     */
    private List<NewReplyListVO> patientMessageList;
    /**
     * 6病历订阅
     */
    private List<patientInfo> subscribeDiseaseList;


    public Long getUnReadAbnormalTotal() {
        return unReadAbnormalTotal;
    }

    public void setUnReadAbnormalTotal(Long unReadAbnormalTotal) {
        this.unReadAbnormalTotal = unReadAbnormalTotal;
    }

    public List<FollowUpRecordsVO> getTheCriticalValueList() {
        return theCriticalValueList;
    }

    public void setTheCriticalValueList(List<FollowUpRecordsVO> theCriticalValueList) {
        this.theCriticalValueList = theCriticalValueList;
    }

    public List<FollowUpRecordsVO> getOnOutPatientApintmentList() {
        return onOutPatientApintmentList;
    }

    public void setOnOutPatientApintmentList(List<FollowUpRecordsVO> onOutPatientApintmentList) {
        this.onOutPatientApintmentList = onOutPatientApintmentList;
    }

    public List<patientInfo> getIntoGroupAssessmentList() {
        return intoGroupAssessmentList;
    }

    public void setIntoGroupAssessmentList(List<patientInfo> intoGroupAssessmentList) {
        this.intoGroupAssessmentList = intoGroupAssessmentList;
    }

    public List<patientInfo> getMyClinicList() {
        return myClinicList;
    }

    public void setMyClinicList(List<patientInfo> myClinicList) {
        this.myClinicList = myClinicList;
    }

    public List<NewReplyListVO> getPatientMessageList() {
        return patientMessageList;
    }

    public void setPatientMessageList(List<NewReplyListVO> patientMessageList) {
        this.patientMessageList = patientMessageList;
    }

    public List<patientInfo> getSubscribeDiseaseList() {
        return subscribeDiseaseList;
    }

    public void setSubscribeDiseaseList(List<patientInfo> subscribeDiseaseList) {
        this.subscribeDiseaseList = subscribeDiseaseList;
    }

    public List<OdsHmAbnormal> getOdsHmDiseaseRelationList() {
        return odsHmDiseaseRelationList;
    }

    public void setOdsHmDiseaseRelationList(List<OdsHmAbnormal> odsHmDiseaseRelationList) {
        this.odsHmDiseaseRelationList = odsHmDiseaseRelationList;
    }

    public static class patientInfo implements Serializable{
        private String patientId;
        private String patientName;
        private String diseaseName;//病种名称或者咨询类型或随访病历名称
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private Date time;
        private Integer abnormalReadFlag;//互联网诊疗状态
        private Integer unReadNumber;

        public String getPatientId() {
            return patientId;
        }

        public void setPatientId(String patientId) {
            this.patientId = patientId;
        }

        public String getPatientName() {
            return patientName;
        }

        public void setPatientName(String patientName) {
            this.patientName = patientName;
        }

        public String getDiseaseName() {
            return diseaseName;
        }

        public void setDiseaseName(String diseaseName) {
            this.diseaseName = diseaseName;
        }

        public Date getTime() {
            return time;
        }

        public void setTime(Date time) {
            this.time = time;
        }

        public Integer getAbnormalReadFlag() {
            return abnormalReadFlag;
        }

        public void setAbnormalReadFlag(Integer abnormalReadFlag) {
            this.abnormalReadFlag = abnormalReadFlag;
        }

        public Integer getUnReadNumber() {
            return unReadNumber;
        }

        public void setUnReadNumber(Integer unReadNumber) {
            this.unReadNumber = unReadNumber;
        }
    }
}
